home *** CD-ROM | disk | FTP | other *** search
-
- ===============================================
-
- @(#) OKAMI SHELL VERSION 1.2 - KOMPATIBILITÄT
-
- ===============================================
- Stand: 27.12.90
-
-
- BITTE ERST DIE DATEIN README UND OKAMI.DOC LESEN!
-
-
- Diese Datei vermerkt alle Änderungen der Shell, die zu Inkompatibilität
- zu älteren Versionen führen. Zu jeder Änderung ist ein Datum angegeben. Es
- bedeutet, daß alle nach diesem Datum erstellten Versionen der Shell in dem
- betreffenden Punkt zu allen vor diesem Datum erstellten Versionen inkompatibel
- ist bzw. sich anders verhält, was Anpassungen an Shellscripts o.ä. notwendig
- macht. Das Erstellungsdatum einer Shell kann durch Eingabe von "ver -c" er-
- mittelt werden.
-
-
- ========
- @(#) 15.11.90
- ========
-
- Das Kommando grep hat bisher nur feste Strings ohne Rücksicht auf Wildcards
- gesucht und entsprach daher dem Unix-fgrep. Ab jetzt gibt es fgrep für die
- Suche nach festen Strings und grep, das erweiterte Wildcards berücksichtigt.
- Shellscripts, die grep zum Suchen von Strings, die Wildcards (Sterne, Frage-
- zeichen und eckige Klammern) beinhalten, benutzen, sollten statt grep fgrep
- benutzen. Die notwendigen Änderungen beschränken sich also auf das Hinzufügen
- des "f".
-
-
- ========
- @(#) 23.11.90
- ========
-
- Ab diesem Tag betrachtet die Shell das doppelte Anführungszeichen (") als
- Gruppierungssymbol, was sie in den vorigen Versionen nicht getan hat. Das
- hat folgende Konsequenzen:
-
- * Das doppelte Anführungszeichen muß, wenn es ausgegeben werden soll, mit
- einem davorstehenden Dach gequotet werden. Beispiel: das Kommando
- echo 3.5"-Diskette
- erzeugte in früheren Versionen die Ausgabe 3.5"-Diskette. In der neueren
- Version muß es heißen:
- echo 3.5^"-Diskette
- ABHILFE: vor jedes Anführungszeichen ein Dach setzen.
-
- * Wenn mit dem Fluchtsymbol (^) Steuerzeichen in eine Eingabezeile aufgenommen
- werden, müssen diese ebenfalls in doppelten Anführungszeichen stehen, da sie
- sonst als Wort-Trennzeichen gelten. Beispiel: in
- echo hallo ^n wie gehts
- ist das Zeilenend-Zeichen (^n) ein Worttrenner und wird daher nicht wie in
- den älteren Versionen als Zeilenvorschub ausgegeben.
- ABHILFE: solche Fälle in doppelte Anführungszeichen setzen:
- echo "hallo ^n wie gehts"
-
- * Mehrere hintereinanderstehende Whitespace-Zeichen werden zu einem Leerzeichen
- zusammengefaßt, wenn sie nicht in doppelten Anführungszeichen stehen. Die
- älteren Versionen der Shell taten das nicht. Beispiel:
- echo a b c
- erzeugte in früheren Versionen die Ausgabe
- a b c
- , in der aktuellen Version jedoch
- a b c
- . Das gilt auch für die Deklaration von Shellfunktionen.
- ABHILFE: auch hier in doppelte Anführungszeichen setzen:
- echo "a b c"
-
-
-
-
- ========
- @(#) 27.12.90
- ========
-
- Die Umleitung der Ein- und Ausgabe erfolgt ab jetzt vollständig auf Gemdos-
- Ebene mit Hilfe der Funktion Fforce. In allen älteren Versionen wurde die
- Umleitung nur von der Shell selber durchgeführt.
- Der Vorteil der neuen Lösung ist
- 1) daß sich jetzt alle externen Programme umleiten lassen, die ihre Ein- und
- Ausgabe über Gemdos abwickeln, und
- 2) daß sich auch externe Programme, die in Shellscripts stehen, zusammen mit
- den Shellscripts umleiten lassen, was vorher nicht möglich war.
- Bedauerlicherweise ergeben sich dadurch auch zwei Nachteile:
-
- *) Wenn ein Kommando eine Tastatureingabe entgegennimmt, wird das Echo der
- Tasten zur Standardausgabe geschrieben. Wenn diese dabei umgeleitet wird,
- kommt das Tastenecho nicht auf den Bildschirm, sondern mit in die Umlei-
- tung. Beispiel: "cat >datei.txt" diente vorher dazu, die Tastatureingabe
- in die Datei datei.txt umzuleiten. Jetzt kommt allerdings auch das Tasten-
- echo in diese Datei.
- ABHILFE: Keine, dieses Problem ist bis jetzt nicht lösbar.
-
- *) Das Betriebssystem stellt keine Standard-Fehlerausgabe zur Verfügung, da es
- die reichlich starre Organisation der "Standard-File-Handles" von MS-DOS
- übernommen hat. Es gibt also eine Standard-Eingabe, eine Standard-Ausgabe,
- eine Standard-serielle Schnittstelle usw. Unter Unix wird File-Deskriptor
- Nr. 2 für Fehlerausgaben benutzt, diese werden mit "2>" umgeleitet. Um
- dazu konform zu bleiben, benutzt die Okami-Shell ebenfalls File-Deskriptor
- Nr. 2 für die Fehlerausgaben. Dies ist aber normalerweise die serielle
- Schnittstelle. Die Okami-Shell biegt also zu Beginn alle Ausgaben, die auf
- die Standard-serielle Schnittstelle gehen sollten, auf die Standard-Ausgabe
- um. Das ist nicht allzu schlimm, da Programme, die diese Schnittstelle be-
- nutzen, das sowieso über die nicht umleitbaren Xbios-Funktionen tun sollten.
- Es ist aber aus einem anderen Grund schlimm: die serielle Schnittstelle
- wurde bisher als NULL-Gerät benutzt. (Ein richtiges Null-Gerät hat man von
- MS-DOS natürlich nicht übernommen.) Diese Möglichkeit fällt jetzt natürlich
- weg, denn "rm datei 2>NULL:", womit die Fehlerausgabe von rm zum Null-Gerät
- umgeleitet werden soll, schickt bei NULL=AUX: die Fehlerausgabe über die
- serielle Schnittstelle (die auf den Bildschirm umgebogen wurde) genau
- dahin, wo sie nicht hinsoll, nämlich auf den Bildschirm.
- Um dieses Problem zu umgehen, lautet die Defaulteinstellung von NULL ab
- jetzt PRN:, es wird also die paralelle Schnittstelle benutzt. Wer hier
- einen Drucker angeschlossen hat, dem bringt das natürlich nicht allzu viel.
- ABHILFE: wer keinen Drucker hat, kann NULL auf PRN: stehen lassen.
- Wer wohl einen Drucker hat, sollte NULL auf eine Datei z.B. auf der Ram-
- disk einstellen, z.B. durch die Zeile
- NULL=$PIPDIR/nullfile
- im Profile.
-